package main

import "os/exec"

// 执行任意Git命令的封装
func RunGitCommand(name string, arg ...string) (string, error) {
	//gitpath := config.Config.Gitpath // 从配置文件中获取当前git仓库的路径

	cmd := exec.Command(name, arg...)
	cmd.Dir = "git@gitee.com:ylsjw/test_pack.git" // 指定工作目录为git仓库目录
	//cmd.Stderr = os.Stderr
	msg, err := cmd.CombinedOutput() // 混合输出stdout+stderr
	cmd.Run()

	// 报错时 exit status 1
	return string(msg), err
}

func main()  {

	//// 判断当前工作区是否是干净的
	//// 检查返回值 workspace 是否为空 为空则表明工作区没有未提交的变更
	//workspace, err := RunGitCommand("git", "status", "--short")
	//
	//// 获取当前工作区的提交码 注意这里没有参数 master
	//commitid, err := RunGitCommand("git", "--no-pager", "log", "-n", "1", "--format=format:%h | %ar")
	//// 输出：8a91fbc | 5 hours ago
	//
	//// 获取git show输出 data.Hash是需要show的提交码hash
	//result, err := RunGitCommand("git", "--no-pager", "show", data.Hash)
	//
	//// 获取最近15次提交信息 注意这里有master
	//gitlog, err := RunGitCommand("git", "--no-pager", "log", "-n", "15", "--format=format:%H|%h|%ar|%ai|%at|%s", "master")

}
